Next: HTML, Previous: Viewing, Up: Reading Mail [Contents][Index]
MH has the ability to display MIME
(Multipurpose Internet Mail Extensions) messages which are simply
messages with additional body parts or
attachments. You can use the MH commands
show17 or mhshow18 from the shell to
read MIME messages19.
MH-E can handle attachments as well if the Gnus
‘mm-decode’ package is present. If so,
the option mh-decode-mime-flag will be on.
Otherwise, you’ll see the MIME body parts
rather than text or attachments. There isn’t much point in
turning off the option mh-decode-mime-flag; however,
you can inspect it if it appears that the body parts are not
being interpreted correctly or toggle it with the command
; (semicolon;
mh-toggle-mh-decode-mime-flag) to view the raw
message. This option also controls the display of
quoted-printable messages and other graphical widgets. See
Viewing.
Attachments in MH-E are indicated by buttons like this:
[1. image/jpeg; foo.jpg]...
To view the contents of the button, use either
mouse-1 or mouse-2 on the button or
RET (mh-press-button) when the
cursor is over the button. This command is a toggle so if you use
it again on the same attachment, it is hidden. If Emacs does not
know how to display the attachment, then Emacs offers to save the
attachment in a file. To move the cursor to the next button, use
the command K TAB
(mh-next-button). If the end of the buffer is
reached then the search wraps over to the start of the buffer. To
move the cursor to the previous button, use the command K
S-TAB
(mh-prev-button). If the beginning of the buffer is
reached then the search wraps over to the end of the
buffer.
Another way to view the contents of a button is to use the
command K v (mh-folder-toggle-mime-part).
This command displays (or hides) the attachment associated with
the button under the cursor. If the cursor is not located over a
button, then the cursor first moves to the next button, wrapping
to the beginning of the message if necessary. This command has
the advantage over the previous commands of working from the
MH-Folder buffer. You can also provide a numeric prefix argument
(as in 4 K v) to view the attachment labeled with that
number. If Emacs does not know how to display the attachment,
then Emacs offers to save the attachment in a file.
If Emacs does not know how to view an attachment, you could
save it into a file and then run some program to open it. It is
easier, however, to launch the program directly from MH-E with
the command K e
(mh-display-with-external-viewer). While
you’ll most likely use this to view spreadsheets and
documents, it is also useful to use your browser to view HTML
attachments with higher fidelity than what Emacs can provide.
This command displays the attachment associated with the button
under the cursor. If the cursor is not located over a button,
then the cursor first moves to the next button, wrapping to the
beginning of the message if necessary. You can provide a numeric
prefix argument (as in 4 K e) to view the attachment
labeled with that number. This command tries to provide a
reasonable default for the viewer by calling the Emacs function
mailcap-mime-info. This function usually reads the
file /etc/mailcap.
Use the command K o
(mh-folder-save-mime-part) to save attachments (the
mnemonic is “output”). This command saves the
attachment associated with the button under the cursor. If the
cursor is not located over a button, then the cursor first moves
to the next button, wrapping to the beginning of the message if
necessary. You can also provide a numeric prefix argument (as in
3 K o) to save the attachment labeled with that
number. This command prompts you for a filename and suggests a
specific name if it is available.
You can save all of the attachments at once with the command
K a (mh-mime-save-parts). The attachments
are saved in the directory specified by the option
mh-mime-save-parts-default-directory unless you use
a prefix argument (as in C-u K a) in which case you
are prompted for the directory. These directories may be
superseded by MH profile components, since this function calls on
mhstore (mhn) to do the
work.
The default value for the option
mh-mime-save-parts-default-directory is
‘Prompt Always’ so that you are always
prompted for the directory in which to save the attachments.
However, if you usually use the same directory within a session,
then you can set this option to ‘Prompt the First
Time’ to avoid the prompt each time. you can make
this directory permanent by choosing
‘Directory’ and entering the
directory’s name.
The sender can request that attachments should be viewed
inline so that they do not really appear like an attachment at
all to the reader. Most of the time, this is desirable, so by
default MH-E suppresses the buttons for inline attachments. On
the other hand, you may receive code or HTML which the sender has
added to his message as inline attachments so that you can read
them in MH-E. In this case, it is useful to see the buttons so
that you know you don’t have to cut and paste the code into
a file; you can simply save the attachment. If you want to make
the buttons visible for inline attachments, you can use the
command K t (mh-toggle-mime-buttons) to
toggle the visibility of these buttons. You can turn on these
buttons permanently by turning on the option
mh-display-buttons-for-inline-parts-flag.
MH-E cannot display all attachments inline however. It can display text (including HTML) and images.
Some older mail programs do not insert the needed
plumbing20 to tell MH-E whether to display the
attachments inline or not. If this is the case, MH-E will display
these images inline if they are smaller than the window. However,
you might want to allow larger images to be displayed inline. To
do this, you can change the options
mh-max-inline-image-width and
mh-max-inline-image-height from their default value
of zero to a large number. The size of your screen is a good
choice for these numbers.
Sometimes, a mail program will produce multiple alternatives
of an attachment in increasing degree of faithfulness to the
original content. By default, only the preferred alternative is
displayed. If the option
mh-display-buttons-for-alternatives-flag is on, then
the preferred part is shown inline and buttons are shown for each
of the other alternatives.
Many people prefer to see the
‘text/plain’ alternative rather than the
‘text/html’ alternative. To do this in
MH-E, customize the option
mm-discouraged-alternatives, and add
‘text/html’. The next best alternative,
if any, will be shown.
Occasionally, though, you might want to see the preferred
alternative. The command :
(mh-show-preferred-alternative) displays the message
with the default preferred alternative. This is as if
mm-discouraged-alternatives is set to
‘nil’. Use the command RET (mh-show) to show the message
normally again.
You can view the raw contents of an attachment with the
command K i (mh-folder-inline-mime-part).
This command displays (or hides) the contents of the attachment
associated with the button under the cursor verbatim. If the
cursor is not located over a button, then the cursor first moves
to the next button, wrapping to the beginning of the message if
necessary. You can also provide a numeric prefix argument (as in
4 K i) to view the attachment labeled with that
number.
For additional information on buttons, see the chapters Article Buttons and MIME Commands in the The Gnus Manual.
See the section Reading Mail: inc show next prev in the MH book.
See the section Reading MIME Mail in the MH book.
You can call them directly from Emacs if you’re
running the X Window System: type M-! xterm -e mhshow
message-number. You can leave out the
‘xterm -e’ if you use
mhlist or mhstore.
This plumbing is the ‘Content-Disposition:’ header field.
Next: HTML, Previous: Viewing, Up: Reading Mail [Contents][Index]